home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / demo / mag / trash3_2.lha / fuentes / STARTUP-FUENTES.lha / macros.i next >
Text File  |  1996-10-24  |  8KB  |  216 lines

  1.  
  2. *****************************************************************************
  3. * Fuente:        macros.i                                                   *
  4. * Sistema:       ROM 1.2/1.3/2.04/3.00                                      *
  5. * Versión:       v1.0 30-7-93                                               *
  6. * Descripción:   Macros assembler a68k y Offsets (LVO) de las funciones     *
  7. *                utilizadas en los programas EJEMPLO                        *
  8. *                                                                           *
  9. *                                                               © Martin    *
  10. *                                                                           *
  11. *****************************************************************************
  12.  
  13. *****************************************************************************
  14. * Estas asignaciones corresponden a los offsets de cada función del
  15. * sistema empleada en los programas...
  16. *****************************************************************************
  17.  
  18. _AbsExecBase         EQU    4           ;posición absoluta de memoria de
  19.                                         ;la dirección base de la libreria Exec
  20.  
  21. _LVOOpenLibrary      EQU -552           ;offset de la función 'abrir libreria'
  22.  
  23. _LVOCloseLibrary     EQU -414           ;offset de la función 'cerrar libreria'
  24.  
  25. _LVOOutput           EQU  -60           ;offset de la función 'identificador de canal de salida'
  26.  
  27. _LVOWrite            EQU  -48           ;offset de la función 'escribir en canal de salida'
  28.  
  29. _LVOInput            EQU  -54           ;offset de la función 'identificador de canal de entrada'
  30.  
  31. _LVORead             EQU  -42           ;offset de la función 'leer del canal de entrada'
  32.  
  33. _LVODelay            EQU  -198          ;offset de la función 'retardo de tiempo'
  34.  
  35. _LVOFindTask         EQU  -294          ;offset de la función 'Encontrar Tarea Activada'
  36.  
  37. _LVOOpenDevice       EQU  -444          ;offset de la función 'Abrir Device'
  38.  
  39. _LVODoIO             EQU  -456          ;offset de la función 'Mandar Mensaje'
  40.  
  41. _LVOCloseDevice      EQU  -450          ;offset de la función 'Cerrar Device'
  42.  
  43. _LVOPermit           EQU  -138          ;offset de la función 'Permitir multitarea'
  44.  
  45. _LVOForbid           EQU  -132          ;offset de la función 'Prohibir multitarea'
  46.  
  47. _LVOAllocMem         EQU  -198          ;offset de la función 'Reservar Memoria'
  48.  
  49. _LVOFreeMem          EQU  -210          ;offset de la función 'Liberar Memoria'
  50.  
  51. _LVOAddIntServer     EQU  -168          ;offset de la función 'Añadir Rutina Servicio Interrupción'
  52.  
  53. _LVORemIntServer     EQU  -174          ;offset de la función 'Borrar Rutina Servicio Interrupción'
  54.  
  55. _LVOAllocSignal      EQU  -330          ;offset de la función 'Reservar Bit de Signal'
  56.  
  57. _LVOFreeSignal       EQU  -336          ;offset de la función 'Liberar Bit de Signal'
  58.  
  59. _LVOSetSignal        EQU  -306          ;offset de la función 'Activar/Desactivar Bit de Signal'
  60.  
  61. _LVOSignal           EQU  -324          ;offset de la función 'Enviar Signal a una Task determinada'
  62.  
  63. _LVOWait             EQU  -318          ;offset de la función 'Esperar a recibir un Signal Determinado'
  64.  
  65. _LVOOpenResource     EQU  -498          ;offset de la función 'Abrir Recurso'
  66.  
  67. ; Intuition.library  ********************************************************************************
  68.  
  69. _LVODisplayBeep      EQU   -96          ; offset de la función 'Visualizar Parpadeo de Alerta'
  70.  
  71. _LVOOpenScreen       EQU   -198         ; offset de la función 'Abrir Pantalla'
  72.  
  73. _LVOCloseScreen      EQU   -66          ; offset de la función 'Cerrar Pantalla'
  74.  
  75. _LVOOpenWindow       EQU   -204         ; offset de la función 'Abrir Ventana'
  76.  
  77. _LVOCloseWindow      EQU   -72          ; offset de la función 'Cerrar Ventana'
  78.  
  79.  
  80. ; Graphics.library ************************************************************************************
  81.  
  82. _LVOAllocRaster      EQU    -492        ; offset de la función 'Reservar memoria para un bitplano'
  83.  
  84. _LVOFreeRaster       EQU    -498        ; offset de la función 'Liberar memoria ocupada por un bitplano'
  85.  
  86. _LVOInitBitMap       EQU    -390        ; offset de la función 'Inicializar estructura de tipo Bitmap'
  87.  
  88. _LVOInitRastPort     EQU    -198        ; offset de la función 'Inicializar estructura de tipo RastPort'
  89.  
  90. _LVOBltClear         EQU    -300        ; offset de la función 'Limpiar zona de memoria CHIP'
  91.  
  92. _LVOSetBPen          EQU    -348        ; offset de la función 'Seleccionar Color Primario B'
  93.  
  94. _LVOSetAPen          EQU    -342        ; offset de la función 'Seleccionar Color Primario A'
  95.  
  96. _LVOSetRGB4          EQU    -288        ; offset de la función 'Modificar Color del ViewPort'
  97.  
  98. _LVOOwnBlitter       EQU    -456        ; offset de la función 'Apropiarse del blitter'
  99.  
  100. _LVODisOwnBlitter    EQU    -462        ; offset de la función 'Liberar el Blitter'
  101.  
  102.  
  103.  
  104.  
  105. NULL                 EQU    0           ;código caracter vacío
  106.  
  107. LF                   EQU   10           ;código ASCII del caracter 'salto de línea'
  108.  
  109. *******************************************************************************
  110. * MACRO código ANSI para texto en negrita (bold)
  111. *******************************************************************************
  112.  
  113. NEGRITAon MACRO
  114.  
  115.         dc.b 27,91,49,109
  116.         ENDM
  117.  
  118. NEGRITAoff MACRO
  119.  
  120.         dc.b 27,91,50,50,109
  121.         ENDM
  122.  
  123. ITALICAon   MACRO
  124.  
  125.         dc.b 27,91,51,109
  126.         ENDM
  127.  
  128. ITALICAoff  MACRO
  129.  
  130.         dc.b 27,91,50,51,109
  131.         ENDM
  132.  
  133. SUBRAYADOon  MACRO
  134.  
  135.         dc.b 27,91,52,109
  136.         ENDM
  137.  
  138. SUBRAYADOoff  MACRO
  139.  
  140.         dc.b 27,91,50,52,109
  141.         ENDM
  142.  
  143.  
  144. *******************************************************************************
  145. * MACRO para preparar la llamada a una función de libreria
  146. *******************************************************************************
  147.  
  148. UNE_LIB MACRO
  149.  
  150.          IFGT NARG-2
  151.  
  152.            FAIL         ;fallo, demasiados argumentos
  153.  
  154.          ENDC
  155.  
  156.          move.l   a6,-(sp)      ;salvamos registro utilizado
  157.  
  158.          move.l   \2,a6         ;movemos parametro no.2 al registro a6
  159.  
  160.          jsr      \1(a6)        ;salto a la función llamada
  161.  
  162.          move.l (sp)+,a6        ;restauramos registro utilizado
  163.  
  164.          ENDM
  165.  
  166. *******************************************************************************
  167. * Macro para llamar a una función de libreria
  168. *******************************************************************************
  169.  
  170. CALLSYS  MACRO
  171.  
  172.          UNE_LIB _LVO\1,\2      ;preparamos la llamada con otra macro
  173.  
  174.          ENDM
  175.  
  176. *******************************************************************************
  177. * Macro para escribir un texto en el 'Shell/CLI'
  178. *******************************************************************************
  179.  
  180. WRITE    MACRO
  181.  
  182.          movem.l  d1-d3,-(sp)               ;salvar contenido de los regs. utilizados
  183.  
  184.          move.l   \2,d1                     ;identificador del canal de salida del texto
  185.  
  186.          move.l   #\1,d2                    ;inicio del texto
  187.  
  188.          move.l   #\1_long,d3               ;tamaño del mensaje
  189.  
  190.          CALLSYS Write,_DOSBase             ;llamada a la función
  191.  
  192.          movem.l  (sp)+,d1-d3               ;restaurar registros utilizados
  193.  
  194.          ENDM
  195. *******************************************************************************
  196. * Macro para leer un texto desde el 'Shell/CLI'
  197. *******************************************************************************
  198.  
  199. READ     MACRO
  200.  
  201.          movem.l  d1-d3,-(sp)               ;salvar contenido de los regs. utilizados
  202.  
  203.          move.l   \2,d1                     ;identificador del canal de entrada del texto
  204.  
  205.          move.l   #\1,d2                    ;inicio del texto
  206.  
  207.          move.l   #\1_long,d3               ;tamaño del mensaje
  208.  
  209.          CALLSYS Read,_DOSBase              ;llamada a la función
  210.  
  211.          movem.l  (sp)+,d1-d3               ;restaurar registros utilizados
  212.  
  213.          ENDM
  214. *******************************************************************************
  215.  
  216.